package practice3;

import java.util.Scanner;

/**
 * 这个定理简单来说就是对于任意一个数n，它都可以分解为若干个质数的乘积。
 * 如果一个数是完全平方数,那么每个质因子的指数都是偶数
 * 所以，对n进行质因数分解，若改质因数的指数为奇数，则需要乘上该质因数使其指数为偶数
 */
public class P8754 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long n = sc.nextLong();
        long ans=1;
        for(int i=2;i<=Math.sqrt(n);i++){
            int count=0;        //记录质因数的次数
            while(n%i==0){
                count++;
                n=n/i;
            }
            if(count%2!=0){
                ans*=i;
            }
        }
        if(n!=1){   //n没有分尽
            ans*=n;
        }
        System.out.println(ans);
    }

//    //存放质因子
//    private static long[] prime = new long[1001];
//    //存放质因子的指数
//    private static long[] pow = new long[1001];
//
//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        long n = sc.nextLong();
//        int index=0;
//        for(long i=2;i*i<=n;i++){
//            if(n%i==0){
//                index++;
//            }
//            //计算质因子及其指数
//            while(n%i==0){
//                prime[index]=i;
//                pow[index]++;
//                n=n/i;
//            }
//        }
//        //本身也是质因子
//        if(n>1){
//            index++;
//            prime[index]=n;
//            pow[index]++;
//        }
//        int ans=1;
//        for(int i=1;i<=index;i++){
//            if(pow[i]%2!=0){
//                ans*=prime[i];
//            }
//        }
//        System.out.println(ans);
//    }

//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        long n = sc.nextInt();
//        for(long i=1;i<=n;i++){
//            double sqrt = Math.sqrt(i * n);
//            long num = (long)sqrt;
//            if(sqrt-num==0){
//                System.out.println(i);
//                break;
//            }
//        }
//    }
}
